package cn.vehicle.biz;

import cn.vehicle.domains.vo.BasePage;
import cn.vehicle.domains.vo.req.vehicle.AddTransportVehicleReq;
import cn.vehicle.domains.vo.req.vehicle.TransportVehicleListReq;
import cn.vehicle.domains.vo.req.vehicle.UpdateTransportVehicleReq;
import cn.vehicle.domains.vo.res.vehicle.TransportVehicleRes;

import java.util.List;

public interface TransportVehicleBiz {

    /**
     * 新增运输车辆
     * @param req 新增运输车辆请求参数
     */
    void addTransportVehicle(AddTransportVehicleReq req);

    /**
     * 更新运输车辆信息
     * @param req 更新运输车辆请求参数
     */
    void updateTransportVehicle(UpdateTransportVehicleReq req);

    /**
     * 根据ID删除运输车辆
     * @param id 运输车辆ID
     */
    void deleteTransportVehicle(Long id);

    /**
     * 根据ID查询运输车辆详情
     * @param id 运输车辆ID
     * @return 运输车辆响应结果
     */
    TransportVehicleRes getTransportVehicleById(Long id);

    /**
     * 分页查询运输车辆列表
     * @param req 分页查询请求参数
     * @return 分页运输车辆列表
     */
    BasePage<TransportVehicleRes> listTransportVehicles(TransportVehicleListReq req);
}